Transaction.cs
Language: C#
Last Modified: 2020-06-27 1:58:31 PM UTC
File Size: 4288 bytes
Last Modified: 2020-06-27 1:58:31 PM UTC
File Size: 4288 bytes
http://www.penguinstew.ca/example/dataviewer/Model/Transaction.cs
using System;
using System.Data.Linq;
using System.Data.Linq.Mapping;
namespace Budgeter.Model
{
/// <summary>
/// Table containing transaction information
/// </summary>
[Table(Name = "Transactions")]
public class Transaction
{
#region Columns
/// <summary>
/// Unique ID
/// </summary>
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int TransactionId { get; set; }
/// <summary>
/// ID of the containing month
/// </summary>
[Column]
public int MonthId { get; set; }
/// <summary>
/// Date the transaction occurred
/// </summary>
[Column]
public DateTime Date { get; set; }
/// <summary>
/// Description of the transaction
/// </summary>
[Column(DbType = "nvarchar(150) NOT NULL")]
public string Description { get; set; }
/// <summary>
/// Amount of the transaction
/// </summary>
[Column]
public decimal Amount { get; set; }
/// <summary>
/// ID of the related category
/// </summary>
[Column]
public int CategoryId { get; set; }
/// <summary>
/// ID of the related recurring Payment (if any)
/// </summary>
[Column(CanBeNull = true)]
public int? RecurringPaymentMonthId { get; set; }
/// <summary>
/// ID of the relates special account (if any)
/// </summary>
[Column(CanBeNull = true)]
public int? SpecialAccountMonthId { get; set; }
/// <summary>
/// The account the transaction is to
/// </summary>
[Column(DbType = "INT NOT NULL", CanBeNull = false)]
public Enums.Accounts ToAccount { get; set; }
/// <summary>
/// The account the transaction is from
/// </summary>
[Column(DbType = "INT NOT NULL", CanBeNull = false)]
public Enums.Accounts FromAccount { get; set; }
#endregion
#region Entities
private EntityRef<Month> m_month;
/// <summary>
/// Reference to the containing month
/// </summary>
[Association(Storage = "m_month", ThisKey = "MonthId", IsForeignKey = true)]
public Month Month
{
get
{
return m_month.Entity;
}
set
{
m_month.Entity = value;
}
}
private EntityRef<Category> m_category;
/// <summary>
/// Reference to the related category
/// </summary>
[Association(Storage = "m_category", ThisKey = "CategoryId", IsForeignKey = true)]
public Category Category
{
get
{
return m_category.Entity;
}
set
{
m_category.Entity = value;
}
}
private EntityRef<RecurringPaymentMonth> m_recurringPaymentMonth;
/// <summary>
/// Reference to the related recurring Payment (If any)
/// </summary>
[Association(Storage = "m_recurringPaymentMonth", ThisKey = "RecurringPaymentMonthId", IsForeignKey = true)]
public RecurringPaymentMonth RecurringPaymentMonth
{
get
{
return m_recurringPaymentMonth.Entity;
}
set
{
m_recurringPaymentMonth.Entity = value;
}
}
private EntityRef<SpecialAccountMonth> m_specialAccountMonth;
/// <summary>
/// Reference to the related special account (if any)
/// </summary>
[Association(Storage = "m_specialAccountMonth", ThisKey = "SpecialAccountMonthId", IsForeignKey = true)]
public SpecialAccountMonth SpecialAccountMonth
{
get
{
return m_specialAccountMonth.Entity;
}
set
{
m_specialAccountMonth.Entity = value;
}
}
#endregion
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150